/*
 * DialogoImagen.cpp
 *      Author: sebastian
 */

#include "DialogoImagen.h"

DialogoImagen::DialogoImagen(const Glib::RefPtr<Gtk::Builder>& builder){
	builder->get_widget("imagenDeImagenes",imagen);
	builder->get_widget("dialogImagen",dialogo);
	builder->get_widget("setImagen",setImagen);
	setImagen->signal_clicked().connect(sigc::mem_fun(*this, &DialogoImagen::clickSetImagen));
}

DialogoImagen::~DialogoImagen() {
}


std::string DialogoImagen::show(){
	this->titulo = titulo;
	if(pathImagen != "") {
		imagen->set(pathImagen.c_str());
		imagen->show();
	} else {
		imagen->hide();
	}
	std::string pathViejo = pathImagen;
	int resultado = dialogo->run();

	if (resultado == Gtk::RESPONSE_CANCEL){
		pathImagen = pathViejo;
	}

	dialogo->hide();
	return pathImagen;
}

void DialogoImagen::setearImagen(std::string& path){
	pathImagen = path;
}

void DialogoImagen::clickSetImagen(){
	ElegidorDeImagenes elegidor("Abrir Imagenes");

	int res = elegidor.run();

	if (res == Gtk::RESPONSE_OK){
		pathImagen.clear();
		pathImagen += elegidor.get_filename();
		imagen->hide();
		imagen->set(elegidor.get_filename());
		imagen->show();
	}
	elegidor.hide();

}
